Overview


The NSF SBIR Phase I team (http://www.nsf.gov/awardsearch/showAward.do?AwardNumber=0711715) is building a prototype dynamic web application (hereafter "WebFlowDD") to test some user interface and software framework ideas. Based on discussions on 2007/10/16 and 2007/10/30, here is a series of tasks which we'd like to be able to perform with WebFlowDD.

  • Import dataset from ChemSpider.
  • View dataset structures.
  • Compute Mesa768 fingerprints for structures.
  • Compute ChemTattoo modal from fingerprints.
  • View ChemTattoo-highlighted 2D depictions.

Here's a story which describes how a chemist might perform these tasks, given a tiled "dashboard" web interface.

Story


Mark is a synthetic organic chemist. He wants to see if WebLab can help him generate hypotheses about structure-activity relationships.

mesa_weblab.png


Importing A Dataset


Mark has an assayed dataset, stored on ChemSpider. He wants to import his dataset into WebLab so he can begin to derive a QSAR model from it.

Mark turns his attention to the Data window.

mesa_data_window.png

Q: How does he know to do this? When he visits WebLab for the first time, he won't have any data. How can WebFlowDD help him get started?
A: Perhaps some cues from the Data window would help:

mesa_empty_data_window.png


Aside: Dataset Preparation


Dataset preparation is beyond the scope of WebFlowDD. If Mark is able to retrieve his dataset from ChemSpider or PubChem, it is because someone (else) already made the effort to store the dataset there. To understand why dataset preparation is an "outside" task, consider the details of how the Phase I sample data were prepared.


The Data List


The list on the left side of the window shows every piece of data which Mark has created in WebLab:
  • 2D Structures (with or without computed/imported properties, such as fingerprints) - SMILES, SDF, InChI
  • 3D Structures (ditto) - SDF, PDB
  • Receptors - xray structures - PDB
  • Docked 3D Structures
  • Predictive models

mesa_data_list.png

Each item in the list includes a name, the type of data, and the date/time on which the data was added to WebFlowDD.

The Search/Filter Field


At the top of the window is a filtering text field.

mesa_dw_search_field.png

When Mark types text into this field, the list updates to show only those items which contain that text in their displayed name, type or date. As his collection of data grows, Mark can use the filtering field to quickly find only the items of interest to him.

Data Operations


On the right side of the window are several buttons which act on the items in the list.

mesa_dw_buttons.png

When Mark clicks the Import... button he sees a dialog "window" within the web page. This window offers him several import options. For example, it offers options to import 2D Structure Sets from ChemSpider, or from a data file containing SMILES strings.

mesa_dw_import_dlg.png

The Info... button is disabled (grayed out) unless Mark has selected a single item in the list. When he clicks the button, Mark sees a dialog that provides extra information about the selected item, such as its name and the number of records it contains (as applicable).

Mark can edit some of the displayed information. For example, he can use the Info dialog to change the name of a data item. This is one way in which he can re-organize his data.

Delete... is available only when one or more list items are selected. By clicking this button Mark can permanently delete the selected items.

(Better: make the list hierarchical -- nested folders. One "special" folder is named Trash. Change "Delete..." to "Move to Trash..." to move selected items to the trash folder. Add an "Empty Trash" button. Etc.)

Mark clicks Import... and then chooses to import a 2D structure set from ChemSpider.

Q: What should the ChemSpider interaction look like?
A: TBD
Q: What happens after an import operation is started?
A: TBD

Once the import is complete, the data list updates to show the dataset which Mark just imported.

Viewing Dataset Structures


When Mark selects a SMILES dataset in the Data Window, an overview of that dataset appears in the View window.

It's easy to imagine having several views on any given type of data. For example, a SMILES file containing comma-separated values might be viewed as
  • a table of 2D depictions
  • a text table showing the dataset's SMILES strings and properties
  • an editable 2D scatterplot, which lets Mark choose which (numerical) dataset properties to display along each axis

For now, let's assume that the standard view for a SMILES dataset is a table of 2D depictions.

Computing Fingerprints


Now that he has some structural data, Mark wants to find out more about it: computing chemical properties, generating structural fingerprints, etc. He will use the Tasks window for these property-calculation tasks.

mesa_tasks_window.png

The Tasks window provides a [pulldown] menu showing all operations which it can perform. Rather, it will, someday, provide such a menu. For now it provides setup and monitoring for only one kind of task: generating fingerprints.

Q: Should Mark be able to see a transcript or log of the tasks he has performed? If so, where should that appear?
A: TBD

Generating Fingerprints


The Tasks window can perform one operation at a time. When it's working on a long-running operation, the window shows the current progress of the operation. Otherwise it shows the setup controls for the currently-selected operation. By selecting a different operation from the Tasks window menu, Mark can begin working on a different task.

Mark selects the menu item for fingerprint generation. The window updates to show options controlling how the fingerprints will be created.

mesa_tw_controls.png

In this case there aren't many decisions to make. The Mesa 768 fingerprint generator can create fingerprints only from SMILES files, so it presents a menu showing all of the SMILES datasets which Mark has imported.

mesa_tw_smiles_menu.png

The "Save As" text field lets Mark give a name to the set of fingerprints he's about to create. Whenever he selects a new SMILES dataset, the "Save As" field updates to shows the same name as the selected SMILES dataset. Mark can edit the field if he wants to change this default name.

Note: When Mark selects a SMILES dataset, the Data window changes its selection to match. The View window also updates to show a default view of the selected dataset.

mesa_weblab_after_smiles_selection.png

Q: Should an operation always create a new data object? Should Mark instead have the option of adding the fingerprints to the SMILES file itself? If so, should he be able to undo the operation?
A: TBD

Once all of the options have been set, the Tasks window enables its Start button. Mark clicks the button to begin the operation. Then:
  • A progress bar appears to show how much work has been completed
  • The Start button grays out
  • The Cancel button becomes enabled

From now until the operation finishes, Mark won't be able to do anything with the Tasks window, except to cancel the current operation.

mesa_tw_in_progress.png

When the operation completes, the new data object is added to the Data window. It is automatically selected, and its default view opens in the View window.

Computing the ChemTattoo Modal


[TBD]

Viewing ChemTattoo Results


[TBD]